//////////////////////elaborado por: Susana Taquichiri////////////////////////
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NHibernate;
using NHibernate.Criterion;
using Didsoft.DataAccess.NHibernate;
using Didsoft.DataAccess.Contracts;
using Boa.AIT.AccesoDatos.Entidades;
using Boa.AIT.AccesoDatos.Contratos;

namespace Boa.AIT.AccesoDatos.Contexto
{
   public class AIT_GarantiaAccesoDatos : DataAccessBase<AIT_Garantia>, IAIT_GarantiaAccesoDatos
   {
     public AIT_GarantiaAccesoDatos()
     {
     }
     
     /// <summary>
     /// Devuelve una lista IList<AIT_Garantia> con todas las ocurrencias encontradas, en base a filtro.
     /// </summary>
     /// <param name="filtro"></param>
     /// <returns></returns>
     public IList<AIT_Garantia> BuscarPorFiltro(string filtro)
     {
             ICriteria criteria = Session.CreateCriteria(typeof(AIT_Garantia));
             criteria.Add(Expression.Like("NumDocumentoGarantia", "%" + filtro + "%")); 
             return criteria.List<AIT_Garantia>();
     }

     public IList<AIT_Garantia> ListarGarantia(int equipoId)
     {
         var hql = @"from AIT_Garantia g
                    where g.Equipo.Id = :equipoId";
         var query = Session.CreateQuery(hql);
         query.SetInt32("equipoId", equipoId);
         return query.List<AIT_Garantia>();
     }
   }
}

